import re
# m1 = re.match("ab*","abbbc") # 匹配前一个字符0次或者无限次
# print(m1.group()) # abbb
# python默认是贪婪模式(尽可能多的去匹配)
# 在数量词的后面加上?代表从贪婪模式变成非贪婪
# 非贪婪模式(尽可能少的去匹配)
# m2 = re.match("ab*?","abbbc")
# print(m2.group())  # a *最少0次
# m1 = re.match("ab+","abbbc") # 匹配前一个字符1次或者无限次
# print(m1.group()) # abbb
# m2 = re.match("ab+?","abbbc")
# print(m2.group()) # ab +最少一次

# m1 = re.match("ab{2,4}","abbbc")
# print(m1.group())  # abbb
# m2 = re.match("ab{2,4}?","abbbc")
# print(m2.group())  # abb


st = "<aaa><bbb><ccc>"
"""
<aaa>
<bbb>
<ccc>
贪婪模式
"""
li1 = re.findall("<.*>",st) # \n    > .也能匹配
li2 = re.findall("<.*?>",st) # * 0次 <>完全匹配的 最少匹配3个才能完全匹配(碰到>返回)
print(li1)  # 贪婪模式
print(li2)  # 非贪婪模式
# ['<aaa>', '<bbb>', '<ccc>']